モダンデータスタック カテゴリ紹介 #3 『Data Modelling and Transformation(データモデリング&データ変換)』 – Modern Data Stack Categories Overview Advent Calendar 2023
当エントリは『Modern Data Stack Categories Overview Advent Calendar 2023』 3日目のエントリです。
- Modern Data Stack Categories Overviewのカレンダー | Advent Calendar 2023 - Qiita
- Modern Data Stack Categories Overview Advent Calendar 2023 の記事一覧 | DevelopersIO
データ分析、データを扱う世界では昨今『モダンデータスタック(Modern Data Stack/MDS)』という考え方、サービス構成が大きな注目を浴びています。データの収集、処理、保存、分析に使用されるツールとクラウドデータサービスを集めたソリューションを指す言葉です。クラスメソッドとしてもこのモダンデータスタック(Modern Data Stack/MDS)を推しており、下記の内容でお客様にサービスとして提供しています。
このモダンデータスタックという考え方、現在では構成するサービス群のジャンルが非常に多岐に渡ってきています。このカテゴリ分けも正直企業や個人によって定義が分かれていたりするのですが、『Modern Data Stack - Everything that you need to know !』というサイトではこのカテゴリ分類がシンプルかつ分かりやすく展開されています。このアドベントカレンダー企画では、このサイトで展開されているカテゴリ毎について内容を理解することで見識を広め、今後のサービス展開・サービス選択を検討する足掛かりとして行きたいと思います。
当エントリでは、Modern Data Stack(MDS)におけるカテゴリ『Data Modelling and Transformation(データモデリング&データ変換)』の内容について紹介します。
目次
モダンデータスタック(Modern Data Stack/MDS)における『データモデリング&データ変換』とは
アドベントカレンダー企画の趣旨については1日目のエントリ内『当アドベントカレンダー企画について』をご参照ください。
『データモデリングと変換』には、データモデルを開発し、データをさらに使用するために対象となるシステムにデータを移動するために必要な適切な形式にデータを変換するプロセスが含まれます。
データモデリング
データモデリングとは、データウェアハウスに格納する前のデータのデータモデルを開発するプロセスです。これにはデータウェアハウスに格納する前に、データを視覚化して表現することを含みます。データモデリングを行うことで、組織内のデータソース管理の永続的な方法を確立させることが出来ます。
データモデリングでは、簡略化した図や記号、テキストを使ってデータを整理し、マッピングを行い、データの関連や流れを表現します。エンジニアはこれらのモデルを使用して、新しいソフトウェアを開発したり、レガシーソフトウェアを更新します。
データモデリングはまた、データの一貫性と品質を保証します。データ・モデリングはデータベース・スキーマとは異なります。スキーマはデータベースの設計図であるのに対して、データ・モデルはスキーマに何が存在できるかを決定する包括的な設計手法となります。
データモデリングを実施する事で得られる利点・メリットには以下のようなものが挙げられます。
- データの精度、標準化、一貫性、予測可能性の向上が見込める
- 実用的な洞察へのアクセスが行いやすくなる
- 開発時間を短縮し、データシステムをよりスムーズに統合出来るようになる
- ソフトウェアのメンテナンスとアップデートの迅速化と低コスト化
- エラーや欠落をより迅速に特定可能に
- 様々なリスクの軽減
- 非開発者を含むチーム間のコラボレーションの向上が図れる
- データにアクセスするすべての人のための迅速なトレーニングとオンボーディングが実施出来るようになる
その他データモデリングに関する詳細な説明はこのあたりのドキュメントをご参照ください。
- データ・モデリングとは | IBM
- データモデリングとは? - データモデリングの説明 - AWS
- What is Data Modeling? | Snowflake
- Data modeling techniques for more modularity
データ変換
データ変換とは名前の通り『データをあるフォーマット(形式)から別のフォーマット(形式)に変換すること』を指します。通常データ分析、データ界隈では『ソースシステムのフォーマット』から『デスティネーションシステムのフォーマット』に変換する際に用いられることが多いです。最も一般的なデータ変換の例は『入力元(ソース)から抽出した生データを、データベースやデータウェアハウスに投入出来るようにクリーンで使用可能な形式に変換すること』です。生データには一貫性のない不正確なデータが含まれていることが多く、これを再構築する必要があります。このステップでは主に以下のような処理などを行います。 - データの追加やコピー - 特定のフィールドの削除 - レコードの標準化 - データの名前の変更や再構築
当アドベントカレンダー1日目で紹介した『ETL Tools(ETLツール)』のT(Transformation:変換)の部分はまさにこのステップとなります。
MDSにおける主なデータモデリング&データ変換系サービス
ここではモダンデータスタックにおける『データワークスペース/コラボレーション』のカテゴリで主だったサービスについて幾つか言及していきたいと思います。(ここでの評価はユーザーによるサイト内でのLIKEの数が多いものを中心に見ていきます)
dbt
dbtは、モジュール式SQLとソフトウェアエンジニアリングのベストプラクティスを組み合わせた開発フレームワークで、データ変換の信頼性、高速性、楽しさを実現します。
dbtはアナリティクスエンジニアリングを行うことが出来る開発フレームワーク、ワークフローサービスです。コマンドラインベースのdbt CoreとGUIで様々な操作や機能が扱えるdbt Cloudが展開されており、データアナリストやエンジニアはウェアハウス内のデータを変換し、データ変換コードの記述からデプロイ、ドキュメンテーションに至るまで、アナリティクスエンジニアリングのワークフロー全体を掌握することができます。またデータ品質テストの自動化、アナリティクスコードのデプロイ、ドキュメンテーション付きデータの共有も可能です。
dbtに関してはクラスメソッドの提供しているモダンデータスタックサービスでも取り扱っています。
また、DevelopersIOでもdbtに関するエントリは数多く公開されています。今後も積極的に執筆・公開していく予定です。
Rivery.io
Rivery.ioはサーバレスのSaaS型DataOpsプラットフォームです。世界中のあらゆる規模の企業が、社内外のデータソースを統合、オーケストレーション、管理し、簡単かつ効率的に運用できるようにします。
Rivery.ioではクラウドベースのデータパイプライン準備ツールを提供しており、Salesforce、Google Adwords、AppNexus、MySQL、OpenX、MongoDB、Oracle、Google Analyticsなど、さまざまな企業データソースからデータを収集することが可能です。また、ストリーミングデータを収集し、データを処理し、HDFSやBigtableなどのデータベースに永続化することも出来るようです。
その他Rivery.ioに関する基本的(初歩的)な情報は以下の通り。
Prophecy
Prophecy.ioはローコードデータエンジニアリングプラットフォームです。ビジュアル開発とアジャイルソフトウェアエンジニアリングのベストプラクティスをユニークに組み合わせ、高品質なデータパイプラインの開発とデプロイを民主化します。開発されたコードはオープンソースで、Apache SparkとApache Airflowを対象としています。
その他Prophecyに関する基本的(初歩的)な情報は以下の通り。
- Getting Started | Prophecy
- Pricing and Packages - Prophecy
- Prophecy(@Prophecy_io)さん / X
- Prophecy - YouTube
Dataform
Dataformは、データチームが協力して企業データの単一の真実のソースを構築する場所です。コードを書いたりインフラを管理したりすることなく、BigQueryのSQLパイプラインで共同作業を行うことができます。SQLXを使用すると、数百のデータモデルを1秒以内にコンパイルできます。SQLXは、既存のSQLウェアハウス方言を拡張し、依存関係管理、テスト、文書化などをサポートする機能を追加します。
公式サイトにメッセージとして書かれているように、DataformはGoogle Cloud環境でも利用出来るようになっています。というか Google CloudがDataformを買収したことによって、Google Cloud配下のサービスとして利用出来るようになった、という流れですね。
Legacy Dataform (dataform.co) will be deprecated on February 26, 2024. Dataform is now generally available in GCP.(レガシーDataform(dataform.co)は2024年2月26日に廃止されます。Dataformは現在GCPで一般的に利用可能です。)
Google CloudにおけるDataformの詳細については下記ドキュメントをご参照ください。
DevelopersIOでも、Google CloudにおけるDataformのエントリが数件存在します。
まとめ
という訳で『Modern Data Stack Categories Overview Advent Calendar 2023』3日目の記事、データモデリング&データ変換に関する紹介エントリでした。
このジャンルではやはりdbtがその歴史と展開範囲、利用者規模等で他サービスより先行している、強い印象があります。個人的興味関心としてもdbtが一番強いかなという感じですね。とは言え他サービスも折を見て触れてみたいと思います。
明日4日目は『データウェアハウス』に関する内容となります。お楽しみに!